#ifndef ELEMENTS_PERMISSIONS_H
#define ELEMENTS_PERMISSIONS_H

#include "common/more/flags.hpp"

namespace Elements
{

enum class BasePermission : unsigned
{
    None = 0b00000000,
    FullAdmin = 0b00000001,
    DaysCorrector = 0b00000010,
    UserCorrector = 0b00000100,
    WorkflowCorrector = 0b00001000,
    BoardCorrector = 0b00010000,
    ProjectCorrector = 0b00100000,
    PlanCorrector = 0b01000000,
};
typedef Flags<BasePermission> BasePermissions;

enum class Permission : unsigned
{
    None = 0b00000000,
    Read = 0b00000001,
    Write = 0b00000010,
};
typedef Flags<Permission> Permissions;

} // namespace Elements

#endif // ELEMENTS_PERMISSIONS_H
